iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Odoo

Odoo16 入門介紹系列 第 22

Day22_odoo_QWeb_T-tages(3)

  • 分享至 

  • xImage
  •  

t-attt-attf的使用方法

t-att是一個用於設定HTML元素屬性的指令。它的作用是將指定的HTML元素屬性設定為一個特定的值。這個值可以是模型字段的值、常數或表達式的結果,以下是範例:

<a t-att-href="'/my/page/' + str(record.id)">Link Text</a>
-----------------------------------------------------------
<a t-att-href="library.librarian.email">Email</a>
-----------------------------------------------------------
<p t-att="['style','background-color=red;']">Hello</p>
-----------------------------------------------------------
<p t-att="{'style':'background-color:green;','href':'www.library.com'}">
    Hello
</p>

t-attf 是一個用於處理 HTML 元素屬性的特殊指令。它的作用是將一個變數的值設置為 HTML 元素的屬性值。這在動態生成 HTML 元素時非常有用,您可以使用 t-attf 指令將元素的屬性值設定為模型字段的值或其他內容,以下是範例:

<div t-attf-class="{'active': record.is_active}">
    Some content
</div>
-----------------------------------------------------------
<p t-attf-style="background-color:#{doc.coll_number};">
    Hello Show Color
</p>

inherit_id的使用

在odoo QWeb中,當然少不了繼承的功能,<template>元素用於定義模板,而inherit_id屬性是用於指定要繼承的模板的ID。通過inherit_id,您可以在子模板中重複使用和擴展父模板的內容,以下是範例:

<template inherit_id="繼承的template_id" id="此模板的id">
    <xpath expr="//div[hasclass('page')]" postition="replace">
        <div class = 'page'>
            <h1>This is sample</h1>
        </div>
    </xpath>
</template>

barcode條碼的使用

我們也可以套過QWeb裡的功能,來生成像是二維條碼或是QRCode:

<table>
    <tr>
        <td>
            <img src ="/report/barcode/QR/hello world" width="80" height="80" alt="Barcode"/>
        </td>
    </tr>
</table>
-----------------------------生成QRCode------------------------------
<table>
    <tr>
        <td>
            <img src ="'/report/barcode/QR/%s' %(librarian.name) " 
                                width="80" height="80" alt="Barcode"/>
        </td>
    </tr>
</table>
-----------------------------生成QRCode------------------------------
<table>
    <tr>
        <td>
            <img t-att-src ="'/report/barcode/?type=%s &amp value=%s &amp 
                width=%s &amp height=%s'('___',librarian.name,100,100)"/>
        </td>
    </tr>
</table>
-----------------------------'___'------------------------------
#'___'可以填入:QR、EAN13、EAN8、Code128、UPCA

上一篇
Day21_odoo_QWeb_T-tages(2)
下一篇
Day23_odoo_QWeb_總結
系列文
Odoo16 入門介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言